#ifndef BOHATER_HPP
#define BOHATER_HPP

class Bohater : public Postac
{
private:

    Wyposazenie *Pancerz = new Wyposazenie( 1 , "Brak", 0 );
    Wyposazenie *Bron = new Wyposazenie(2, "Brak", 0);
    Wyposazenie *Tarcza = new Wyposazenie(3, "Brak", 0);



public:

    Bohater()
    {
        SetValue('s', 1);
        SetValue('h', 10);
        SetName("""");
        SetValue('e', 0);
        SetValue('d', 1);
        SetValue('l', 1);
        SetValue('x', 0);
        SetValue('y', 0);
    }



    int Walka(Przeciwnik x)
    {
        int y, z;
        y = RAttributes('h');
        z = x.RAttributes('h');
        while ((y > 0) && (z > 0))
        {
            if (RAttributes('d') > x.RAttributes('d'))
            {
                z = z - RAttributes('s');
            }
            else
            {
                y = y - x.RAttributes('s');
            }
        }
    }



    void Wyposaz(Wyposazenie x)
    {
        switch (x.RType())
        {
        case 1:
            if (Pancerz->REffect() < x.REffect())
            {
                SetValue('h', RAttributes('h')- Pancerz->REffect() + x.REffect());
                Pancerz->SetEffect(x.REffect());
                Pancerz->SetName(x.RName());
            }
            break;
        case 2:
            if (Bron->REffect() < x.REffect())
            {
                SetValue('s', RAttributes('s')- Bron->REffect() + x.REffect());
                Bron->SetEffect(x.REffect());
                Bron->SetName(x.RName());
            }
            break;
        case 3:
            if (Tarcza->REffect() < x.REffect())
            {
                SetValue('h', RAttributes('h')- Tarcza->REffect() + x.REffect());
                Tarcza->SetEffect(x.REffect());
                Tarcza->SetName(x.RName());
            }
            break;
        }
    }
};

#endif // BOHATER_HPP
#ifndef BOHATER_HPP
#define BOHATER_HPP

class Bohater : public Postac
{
private:

    Wyposazenie *Pancerz = new Wyposazenie( 1 , "Brak", 0 );
    Wyposazenie *Bron = new Wyposazenie(2, "Brak", 0);
    Wyposazenie *Tarcza = new Wyposazenie(3, "Brak", 0);



public:

    Bohater()
    {
        SetValue('s', 1);
        SetValue('h', 10);
        SetName("""");
        SetValue('e', 0);
        SetValue('d', 1);
        SetValue('l', 1);
        SetValue('x', 0);
        SetValue('y', 0);
    }



    int Walka(Przeciwnik x)
    {
        int y, z;
        y = RAttributes('h');
        z = x.RAttributes('h');
        while ((y > 0) && (z > 0))
        {
            if (RAttributes('d') > x.RAttributes('d'))
            {
                z = z - RAttributes('s');
            }
            else
            {
                y = y - x.RAttributes('s');
            }
        }
    }



    void Wyposaz(Wyposazenie x)
    {
        switch (x.RType())
        {
        case 1:
            if (Pancerz->REffect() < x.REffect())
            {
                SetValue('h', RAttributes('h')- Pancerz->REffect() + x.REffect());
                Pancerz->SetEffect(x.REffect());
                Pancerz->SetName(x.RName());
            }
            break;
        case 2:
            if (Bron->REffect() < x.REffect())
            {
                SetValue('s', RAttributes('s')- Bron->REffect() + x.REffect());
                Bron->SetEffect(x.REffect());
                Bron->SetName(x.RName());
            }
            break;
        case 3:
            if (Tarcza->REffect() < x.REffect())
            {
                SetValue('h', RAttributes('h')- Tarcza->REffect() + x.REffect());
                Tarcza->SetEffect(x.REffect());
                Tarcza->SetName(x.RName());
            }
            break;
        }
    }
};

#endif // BOHATER_HPP
